package main

import "fmt"

type node struct {
	staticInfo
	dynamicInfo
}

type staticInfo struct {
	name string
	role string
}

type dynamicInfo struct {
	ip string
	mask string
}

func main() {
	s := staticInfo{name: "node1", role:"master"}
	d := dynamicInfo{ip: "1.2.3.4", mask:"255.255.255.0"}

	n := &node{}
	n.staticInfo = s
	n.dynamicInfo = d

	fmt.Println(n)
}

